Digital waveform drawing is a technique that is utilized to display data, for example measurements related to the performance of a system, over a period of time. The technique involves digitally plotting pixels, which correspond to the data, in a waveform on a screen of a display.
It is often desirable to continuously display data received over several periods of time. However, the screen of the display is limited in size and after a waveform has been displayed for a certain period of time, the waveform has to be replaced to reflect the data received from a subsequent period of time.
Software programs are utilized to determine which pixels should be digitally plotted, such that the data appears on the screen of a display as part of a continuous waveform. However, processors, which perform the numerous, complex and involved logical and arithmetic operations required by the software programs to determine what pixels should be plotted, tend to operate significantly faster than the display screen can respond. The difference in speed between the processor and the response rate of the display may cause screen flicker to occur.
Screen flicker refers to the phenomenon that occurs whereby the screen of a display appears to flicker during the process of erasing an existing waveform on the screen and drawing the next waveform on the display screen.
One conventional method of waveform drawing involves creating a blank display area by erasing either the image on the screen or the full display screen, and drawing the next image to be displayed. A technique referred to as page flipping or background display buffering is sometimes utilized to reduce screen flicker. Page flipping involves storing the image being processed in a buffer while the waveform on the display is being shown, and displaying the next waveform from the buffer after it has been fully created.
However, independent of whether the conventional method of waveform drawing is employed alone, or in conjunction with page flipping, the process of creating a blank display area can slow down animation operations, and result in redundant plotting of pixels.
U.S. Pat. No. 7,079,143 for a Waveform Drawing System and Method by Harry M. Gilbert, the disclosure of which is hereby incorporated by reference in its entirety, includes a waveform routine that includes receiving an array of predecessor image data points.
When a number of waveforms are drawn on the same space, redundant drawing steps are made and also additional erasing steps are included in order to show the waveforms in the same space. Such problems exist because when multiple waveforms share the same space, there are overlaps of the drawing and erasing of one waveform over another. There is also a problem of sorting out the precedence of one waveform over another which may lead to an inaccurate display. Further, the problem of precedence also leads to additional and inaccurate erasing and drawing steps.
Accordingly, it would be desirable to provide a technique of waveform drawing that will avoid the problems of drawing a plurality of waveforms in the same space without redundant steps. Further, it would desirable to have such a technique without significant number of complex logical and arithmetic operations when a plurality of waveforms uses the same space.